#include <QtCore/QOpenHarmonyJsObject>
#include <QtCore/QOpenHarmonyJsEnvironment>
#include <QtCore/QOpenHarmonyJsObjectLoader>

#include <qstring.h>
#include "openharmonymultimediautils.h"

QT_BEGIN_NAMESPACE

class QtMultimediaUtils
{
    QSharedPointer<QOpenHarmonyJsObject> m_jsUtils;

public:
    QtMultimediaUtils();
    QString getDefaultMediaDirectory(OPenHarmonyMultimediaUtils::MediaType type);
};

QtMultimediaUtils::QtMultimediaUtils()
{
    m_jsUtils = qJsObjectLoader->create("JsMultimediaUtils");
}

QString QtMultimediaUtils::getDefaultMediaDirectory(OPenHarmonyMultimediaUtils::MediaType type)
{
    return QString();
//    QString dir = m_jsUtils->call<QString>("getMediaDirectory", type);
//    return std::move(dir);
}

Q_GLOBAL_STATIC(QtMultimediaUtils, gsUtils)
int OPenHarmonyMultimediaUtils::getDeviceOrientation()
{
    //TODO
    return 0;
}

void OPenHarmonyMultimediaUtils::enableOrientationListener(bool enable)
{
    //TODO
    Q_UNUSED(enable);
}

void OPenHarmonyMultimediaUtils::registerMediaFile(const QString &file)
{
    //TODO
    Q_UNUSED(file);
}

QString OPenHarmonyMultimediaUtils::getDefaultMediaDirectory(MediaType type)
{
    const QString &dir = gsUtils->getDefaultMediaDirectory(type);
    return std::move(dir);
}

QT_END_NAMESPACE
